package com.xzwk.subject.domain.servcie;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xzwk.subject.domain.dto.SubjectLabelDTO;
import com.xzwk.subject.domain.entity.SubjectLabelBO;
import com.xzwk.subject.domain.request.SaveSubjectInfoRequest;
import com.xzwk.subject.infra.basic.entity.SubjectLabel;
import java.io.Serializable;
import java.util.List;

public interface SubjectInfoDomainService {

  void add(SaveSubjectInfoRequest request);

  Object page(Page<SubjectLabel> page, QueryWrapper<SubjectLabel> subjectLabelQueryWrapper);

  SubjectLabelDTO getById(Serializable id);

  Boolean save(SaveSubjectInfoRequest request);

  Boolean updateById(SubjectLabelBO subjectLabel);

  Boolean removeByIds(List<Long> idList);

  List<SubjectLabelBO> queryPrimaryLabel(Long parentId);

  List<SubjectLabelDTO>  queryLabelByCategoryId(Long categoryId);
}
